package com.lishe.lishe.lishe.module.coupon.http;


import com.lishe.lishe.lishe.module.coupon.bean.CouponListBean;
import com.lishe.lishe.retrofit.DataResponseListener;
import com.lishe.lishe.retrofit.RetrofitFactory;

import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;

/**
 * Created by Bin
 */
public class CouponHttp {

    /**
     * 获取指定状态的优惠券列表
     *
     *  couponUseStatus	否	int	2	优惠券领用状态（1：未领取，2：未使用，3：已使用，4：已过期）
        isOverdue	否	int	0	是否过期(0：不判断，1：过期，2未过期)
        pageNum	否	int	1	页码
        pageSize	否	int	10	每页显示条数
        token	是	string		token
     */
    public static void getCouponList(int couponUseStatus, int pageNum, String token, final DataResponseListener<CouponListBean> listener) {
        RetrofitFactory.create().create(CouponNetApi.class).getCouponList(couponUseStatus, pageNum, token)
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<CouponListBean>() {
                    @Override
                    public void onSubscribe(Disposable d) {}

                    @Override
                    public void onNext(CouponListBean bean) {
                        if(bean.getResult()==100 && bean.getErrcode()==0){
                            listener.onSuccess(bean);
                        }else{
                            listener.onFail(bean.getMsg());
                        }
                    }

                    @Override
                    public void onError(Throwable e) {
                        e.printStackTrace();
                        listener.onError(e);
                    }

                    @Override
                    public void onComplete() {}
                });
    }


}
